package com.fan.gofast.constant;

/**
 * @author hank (hank@meiyibao.com)
 * Created at 2019-10-15 15:14
 */
public interface Metadata {
    int INT_YES = 1;
    int INT_NO = 0;

    /**
     * 成功的返回码 0
     */
    int SUCCESS_CODE = 0;

    /**
     * 异常返回码（检验数据异常、空指针异常等） 500
     */
    int EXCEPTION_CODE = 500;

    /**
     * 业务操作需要给客户显示的状态码
     */
    int CLIENT_SHOW_CODE = 600;

    /**
     * 用户业务异常需要重新调用接口，例如轮询某个状态失败
     */
    int CLIENT_RETRY_CODE = 601;


    /**
     * 用户无权限访问或者菜单无权限
     */
    int NO_AUTH_CODE = 403;

    /**
     * 版本落后
     */
    int VERSION_BEHIND = 412;

    /**
     * 参数有误
     */
    String EXCEPTION_PARAM_ERROR = "参数有误";

    /**
     * cache name
     */
    String DEFAULT_CACHE_NAME = "rediscache";

    default boolean statusOne(Integer status) {
        return status == null ? false : status.equals(INT_YES);
    }


    /**
     * redis中auth info key，格式：account:authinfo:{appid}:{code}
     */
    String AUTH_INFO_KEY = "func56:authinfo:%s:%s";
}
